package ooday04;

public class AnonInnerClassDemo {
    public static void main(String[] args) {
        //
        //1. 创建了Inter的一个派生类，但是没有名字
        //2. 为该派生类创建了一个对象，名为O1，向上转型为Inter类型
        //------new Inter(){};是在创建inter的派生类对象；
        Inter inter=new Inter(){};

        Inter inter1 =new Inter(){};
        //测试
        Inter3 inter4=new Inter3();
        inter4.create();
        //inter2.
        Inter3.Inter4 innerObj = inter4.new Inter4();
        innerObj.showInter();
        //
        Inter1 inter2=new Inter1() {
            //重写接口中的抽象方法
            @Override
            public void show() {
                System.out.println("inter2__show");
            }
        };
        inter2.show();
        int num=7;
        Inter1 inter3=new Inter1(){
            public void show(){
                System.out.println("inter3__show");
                //num=8;
                System.out.println(num);
            }
        };
        inter3.show();
    }

}


// 匿名内部类
//接口，无方法
interface Inter{
}
interface Inter1{
    void show();
}
class Inter3{
    int x=9;
    void create(){
        Inter4 inter44=new Inter4();
        inter44.showInter();
    }

    class Inter4{
        public void showInter(){
            x=8;
            System.out.println(x);
        }
    }

}

















